package io;

import java.io.*;
import java.util.Scanner;

/**
 * 在流连接中使用PrintWriter
 */
public class PWDemo2 {
    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
        Scanner scan=new Scanner(System.in);
        System.out.println("请给记事本命名：.txt格式的");
        String name=scan.nextLine();
        //低级流，用于向文件中写入字节
        FileOutputStream fos=new FileOutputStream(name,true);
        //高级流，1：链接字节与字符流  2将写出的字符转换为字节
        OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");
        //高级流，块写文本数据加速。
        BufferedWriter bw=new BufferedWriter(osw);
        //高级流，自动行刷新，按行写出字符串。
        /*
            PrintWriter构造方法中如果第一个参数是一个流，那么久支持一个
            boolean型的参数，表示自动行刷新。当这个参数为true时就打开了
            自动行刷新，此时每当通过PrintWriter的println方法写出一行
            字符串后就会自动flush一次。注意：print方法不会自动刷新！！！
         */
        PrintWriter pw=new PrintWriter(bw,true);
        System.out.println("请给你自己的记事本输入你要输入的文字，单独输入exit表示退出");
        while(true) {
            String line=scan.nextLine();
            if(line.equals("exit")){
                System.out.println("退出程序成功");
                break;
            }
            pw.println(line);
        }
        System.out.println("输入完毕");
        pw.close();
    }
}
